package estadosUsuario;

import java.util.Calendar;
import java.util.List;
import java.util.Map;
import java.util.Set;

import callForPapers.CallForPaper;

import sistema.AreaDeInteres;
import sistema.Usuario;

public abstract class EstadoUsuario {

	public abstract void crearCallForPaper(String nombre, Calendar fechaTopeDePresentacion,
			Calendar fechaTopeRevision, Set<AreaDeInteres> areasDeInteres, Usuario usuario );

	public abstract void crearCallForPaper(String nombre, Calendar fechaTopeDePresentacion,
			Calendar fechaTopeRevision, AreaDeInteres areasDeInteres, Usuario usuario );
	
	public abstract List<Usuario> filtrarRevisoresPorAfinidad(CallForPaper callForPaper);
	
	public abstract void desLoguerse(Usuario usuario);

	public abstract Map<String, Set<CallForPaper>> verAsignacionesACFP(Usuario usuario);

	public abstract void agregarRevisor(Usuario usuario, CallForPaper cfp);
}